package org.edu.modules.course.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
import java.util.Map;
import org.edu.modules.course.entity.VeCuzCourse;
import org.edu.modules.course.vo.VeCuzCourseVo;
import org.edu.modules.liancategory.entity.VeCuzCourseCategory;
import org.edu.modules.maker.entity.VeCuzCourseMaker;
import org.edu.modules.summary.entity.VeCuzCourseSummary;

public abstract interface IVeCuzCourseService
        extends IService<VeCuzCourse>
{
    public abstract IPage<Map<String, Object>> coursePageMaps(Page<Map<String, Object>> paramPage, QueryWrapper<VeCuzCourse> paramQueryWrapper);

    public abstract boolean save(VeCuzCourse paramVeCuzCourse, VeCuzCourseSummary paramVeCuzCourseSummary, VeCuzCourseCategory paramVeCuzCourseCategory, VeCuzCourseMaker paramVeCuzCourseMaker);

    public abstract IPage<Map<String, Object>> myCreatPageMaps(Page<Map<String, Object>> paramPage, QueryWrapper<VeCuzCourse> paramQueryWrapper);

    public abstract IPage<Map<String, Object>> unFinishPageMaps(Page<Map<String, Object>> paramPage, QueryWrapper<VeCuzCourse> paramQueryWrapper);

    public abstract List<VeCuzCourseVo> finishedPageMaps(VeCuzCourseVo paramVeCuzCourseVo, Integer paramInteger1, Integer paramInteger2);
}
